var name = 'window'
// var name = 'window' 表示在window中name的值为 ’window‘

var person = {
    name: 'person',
    sayName: function () {
        console.log(this.name)
    }
}

function sayName () {
    var sss = person.sayName;

    sss();// window  独立调用指向全局对象window

    person.sayName(); // person  隐式调用

    (person.sayName)(); // person  和上一句效果一样(person.sayName) 带小括号不带小括号没区别

    (b = person.sayName)() // window  间接引用 ，(b = person.sayName)的结果是一个值，并没有和person对象有联系，所以后面加一个（）进行调用的时候，还是属于默认绑定（直接调用），this指向全局对象
}

sayName()